x86: flush_tlb_mask() should take into account specified VA to flush
authorkfraser@localhost.localdomain <kfraser@localhost.localdomain>
Tue, 23 Jan 2007 15:14:45 +0000 (15:14 +0000)
committerkfraser@localhost.localdomain <kfraser@localhost.localdomain>
Tue, 23 Jan 2007 15:14:45 +0000 (15:14 +0000)
on local processor.
Signed-off-by: K. Y. Srinivasan <ksrinivasan@novell.com>
xen/arch/x86/smp.c

index 2d1424003970b730ab0b7ac2b7875a59c28c28b3..cc6739abea358a159615c0c515f6d21fafac90ce 100644 (file)
@@ -188,7 +188,10 @@ void __flush_tlb_mask(cpumask_t mask, unsigned long va)
     
     if ( cpu_isset(smp_processor_id(), mask) )
     {
-        local_flush_tlb();
+        if ( va == FLUSHVA_ALL )
+            local_flush_tlb();
+        else
+            local_flush_tlb_one(va);
         cpu_clear(smp_processor_id(), mask);
     }